package com.atguigu.spzx.product.mapper;

import com.atguigu.spzx.model.dto.h5.ProductSkuDto;
import com.atguigu.spzx.model.dto.product.SkuSaleDto;
import com.atguigu.spzx.model.entity.product.ProductSku;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * ClassName: ProductSkuMapper
 * Package: com.atguigu.spzx.product.mapper
 * Description:
 *
 * @Author 刘强
 * @Create 2024/7/14 12:54
 * @Version 1.0
 */
@Mapper
public interface ProductSkuMapper {
    /**
     * 查询畅销商品 --> 根据销量查询
     * @return
     */
    List<ProductSku> findProductSkuBySale();

    /**
     * 根据关键字查询 商品sku
     * @param productSkuDto
     * @return
     */
    List<ProductSku> findByKeywords(ProductSkuDto productSkuDto);

    /**
     * 根据id查询
     * @param skuId
     * @return
     */
    ProductSku findById(Long skuId);

    /**
     * 根据productId查询
     * @param productId
     * @return
     */
    List<ProductSku> findByProductId(Long productId);

    /**
     *  跟新库存和销量 -> 库存减少，销量增加
     * @param skuSaleDto
     */
    void updateStockAndSaleNum(SkuSaleDto skuSaleDto);
}
